<?php
defined('BASEPATH') or exit('No direct script access allowed');

/**
 * Db Class
 *
 * 执行SQL的类
 *
 * 在框架中默认不开启连接数据库，
 * 在需要执行SQL的地方调用此类的方法，
 * 来打开数据库连接和执行数据库操作。
 *
 * @package CIRedis
 * @subpackage Libraries
 * @category Redis_cache
 * @author Yuan Xibin
 * @link https://github.com/yxbunix/CIRedis
 * @copyright	Copyright (c) 2015 - 2016, Yuan Xibin
 * @license	http://opensource.org/licenses/MIT	MIT License
 * @since	Version 1.0.0
 * @filesource
 */
class Db
{

    /**
     * CI资源
     * 
     * @var object
     */
    private static $CI = null;

    /**
     * 数据库连接实例
     * 
     * @var object
     */
    private static $db = null;

    private static function init()
    {
        self::$CI = &get_instance();
        
        if (! isset(self::$CI->db)) {
            self::$CI->load->database();
        }
        self::$db = self::$CI->db;
    }

    /**
     * @return 返回CI的数据库实例
     */
    public static function db()
    {
        if (! self::$db) {
            self::init();
        }
        return self::$db;
    }
}